package com.ys.entity.base;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TB_UserJobLevelManage", catalog="Id")
public class TbUserJobLevelManage extends BaseEntity<TbUserJobLevelManage> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="UserId", nameJava="userId", typeDataBase="varchar")
	private String userId;
	@YsField(nameDataBase="OrgId", nameJava="orgId", typeDataBase="varchar")
	private String orgId;
	@YsField(nameDataBase="RoleLevelId", nameJava="roleLevelId", typeDataBase="bigint")
	private Long roleLevelId;
	@YsField(nameDataBase="SocialSecurityId", nameJava="socialSecurityId", typeDataBase="bigint")
	private Long socialSecurityId;
	@YsField(nameDataBase="MedicalInsuranceId", nameJava="medicalInsuranceId", typeDataBase="bigint")
	private Long medicalInsuranceId;
	@YsField(nameDataBase="AccumulationFundId", nameJava="accumulationFundId", typeDataBase="bigint")
	private Long accumulationFundId;
	@YsField(nameDataBase="AttendanceId", nameJava="attendanceId", typeDataBase="bigint")
	private Long attendanceId;
	@YsField(nameDataBase="AdditionalCost", nameJava="additionalCost", typeDataBase="decimal")
	private BigDecimal additionalCost;
	@YsField(nameDataBase="AdditionalCostExplain", nameJava="additionalCostExplain", typeDataBase="varchar")
	private String additionalCostExplain;
	@YsField(nameDataBase="YearEndBonus", nameJava="yearEndBonus", typeDataBase="decimal")
	private BigDecimal yearEndBonus;
	@YsField(nameDataBase="HumanResourcesCost", nameJava="humanResourcesCost", typeDataBase="decimal")
	private BigDecimal humanResourcesCost;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TbUserJobLevelManage setId(Long id) {
		this.id = id;
		return this;
	}
	public String getUserId() {
		return userId;
	}
	public TbUserJobLevelManage setUserId(String userId) {
		this.userId = userId;
		return this;
	}
	public String getOrgId() {
		return orgId;
	}
	public TbUserJobLevelManage setOrgId(String orgId) {
		this.orgId = orgId;
		return this;
	}
	public Long getRoleLevelId() {
		return roleLevelId;
	}
	public TbUserJobLevelManage setRoleLevelId(Long roleLevelId) {
		this.roleLevelId = roleLevelId;
		return this;
	}
	public Long getSocialSecurityId() {
		return socialSecurityId;
	}
	public TbUserJobLevelManage setSocialSecurityId(Long socialSecurityId) {
		this.socialSecurityId = socialSecurityId;
		return this;
	}
	public Long getMedicalInsuranceId() {
		return medicalInsuranceId;
	}
	public TbUserJobLevelManage setMedicalInsuranceId(Long medicalInsuranceId) {
		this.medicalInsuranceId = medicalInsuranceId;
		return this;
	}
	public Long getAccumulationFundId() {
		return accumulationFundId;
	}
	public TbUserJobLevelManage setAccumulationFundId(Long accumulationFundId) {
		this.accumulationFundId = accumulationFundId;
		return this;
	}
	public Long getAttendanceId() {
		return attendanceId;
	}
	public TbUserJobLevelManage setAttendanceId(Long attendanceId) {
		this.attendanceId = attendanceId;
		return this;
	}
	public BigDecimal getAdditionalCost() {
		return additionalCost;
	}
	public TbUserJobLevelManage setAdditionalCost(BigDecimal additionalCost) {
		this.additionalCost = additionalCost;
		return this;
	}
	public String getAdditionalCostExplain() {
		return additionalCostExplain;
	}
	public TbUserJobLevelManage setAdditionalCostExplain(String additionalCostExplain) {
		this.additionalCostExplain = additionalCostExplain;
		return this;
	}
	public BigDecimal getYearEndBonus() {
		return yearEndBonus;
	}
	public TbUserJobLevelManage setYearEndBonus(BigDecimal yearEndBonus) {
		this.yearEndBonus = yearEndBonus;
		return this;
	}
	public BigDecimal getHumanResourcesCost() {
		return humanResourcesCost;
	}
	public TbUserJobLevelManage setHumanResourcesCost(BigDecimal humanResourcesCost) {
		this.humanResourcesCost = humanResourcesCost;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TbUserJobLevelManage setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TbUserJobLevelManage setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TbUserJobLevelManage setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TbUserJobLevelManage tbUserJobLevelManage(
		String userId,
		String orgId,
		Long roleLevelId,
		Long socialSecurityId,
		Long medicalInsuranceId,
		Long accumulationFundId,
		Long attendanceId,
		BigDecimal additionalCost,
		String additionalCostExplain,
		BigDecimal yearEndBonus,
		BigDecimal humanResourcesCost,
		Integer status
			) {
		TbUserJobLevelManage entity = new TbUserJobLevelManage();
		entity.setUserId(userId);
		entity.setOrgId(orgId);
		entity.setRoleLevelId(roleLevelId);
		entity.setSocialSecurityId(socialSecurityId);
		entity.setMedicalInsuranceId(medicalInsuranceId);
		entity.setAccumulationFundId(accumulationFundId);
		entity.setAttendanceId(attendanceId);
		entity.setAdditionalCost(additionalCost);
		entity.setAdditionalCostExplain(additionalCostExplain);
		entity.setYearEndBonus(yearEndBonus);
		entity.setHumanResourcesCost(humanResourcesCost);
		entity.setStatus(status);
		return entity;
	}
}